import cv2
import pyrealsense2 as rs
import numpy as np

#图片获取
def get_data(file):
	img = cv2.imread(file) 
	return img

#视频获取
def camera_init():
	# Configure depth and color streams
	pipeline = rs.pipeline()
	config = rs.config()

	# Get device product line for setting a supporting resolution
	pipeline_wrapper = rs.pipeline_wrapper(pipeline)
	pipeline_profile = config.resolve(pipeline_wrapper)
	device = pipeline_profile.get_device()
	device_product_line = str(device.get_info(rs.camera_info.product_line))

	found_rgb = False
	for  s in device.sensors:
		if  s.get_info(rs.camera_info.name) == 'RGB Camera':
			found_rgb = True
			break
	if  not found_rgb:
			print("The demo requires Depth camera with Color sensor")
			exit(0)

	config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)

	if device_product_line == 'L500':
		config.enable_stream(rs.stream.color, 960, 540, rs.format.bgr8, 30)
	else :
		config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

	# Start streaming
	pipeline.start(config)
	return pipeline

def get_carema(pipeline):
	frames = pipeline.wait_for_frames()
	color_frame = frames.get_color_frame()

	# Convert images to numpy arrays
	color_image = np.asanyarray(color_frame.get_data())

	# Show images
	cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
	cv2.imshow('RealSense', color_image)
	cv2.waitKey(1)


#video
def video_init(video_file):
	cap = cv2.VideoCapture(video_file)
	return cap

def get_video(cap):
	ret, frame = cap.read()
	return frame